<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    // 性能问题，setTimeout定时的时间是推入栈的时间，执行时机不稳定，容易失帧，
    // requestAnimationFrame会根据屏幕刷新率去执行，而且当页面在后台的时候会停止，所以比较好
    // setTimeout 属于 JS 引擎，存在事件轮询，存在事件队列。
    // requestAnimationFrame 属于 GUI 引擎，发生在渲 染过程的中重绘重排部分，与电脑分辨路保持一致。
    let timer = requestAnimationFrame(() => {
        console.log(timer);
    });
    /*let timer2 = setInterval(() => {
        console.log(timer2);
    })*/
    cancelAnimationFrame(timer)
</script>
</body>
</html>
